home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (DO)
/
Softdisk Magazette Volume 1, No. 06 (1982-02)(Softdisk)(Side B).zip
/
Softdisk Magazette Volume 1, No. 06 (1982-02)(Softdisk)(Side B).do
/
BIORHYTHM.bas
< prev
next >
Wrap
BASIC Source File
|
1996-12-24
|
4KB
|
93 lines
20 DIM D(12),B$(3),P(31),I(31),E(31),TC(31),M$(12)
30 B$(1) = " ":B$(2) = " DOUBLE ":B$(3) = " TRIPLE "
50 FOR I = 1 TO 12: READ D(I): NEXT I
60 DATA 31,28,31,30,31,30,31,31,30,31,30,31
70 FOR I = 1 TO 12: READ M$(I): NEXT I
80 DATA JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER
90 TEXT : HOME
100 DEF FN B(X) = SIN(6.283185307 * FN C(X))
110 DEF FN C(X) = BN/X - INT(BN/X)
115 DEF FN D(X) = 79 - INT( FN B(X) *80)
120 DEF FN A(X) = INT(X *1000 +.5)/100
130 PRINT "**** BIORHYTHM CURVES ****": PRINT : PRINT : PRINT
140 GOSUB 2000
150 VTAB 10: HTAB 1
200 PRINT "BIRTHDAY :": PRINT " MONTH (MM): ";: INPUT M: PRINT " DAY (DD): ";: INPUT D: PRINT " YEAR (YY): ";: INPUT Y
205 Y = Y +1900 *(Y <100)
206 VTAB 10: CALL -958
207 PRINT "BIRTHDATE IS:": PRINT : PRINT " ";M$(M);" ";D;", ";Y
210 GOSUB 1000
215 BN = BD
216 VTAB 15: HTAB 1
220 PRINT : PRINT "FORECAST DATE": IF SET THEN PRINT " (<RETURN> IF CURRENT MONTH AND YEAR)"
221 INPUT " MONTH (MM) : ";M$:M = VAL(M$): IF M = 0 THEN D = 1:M = MM:Y = YY: GOTO 223
222 INPUT " YEAR (YY) : ";Y$:Y = VAL(Y$):D = 1
223 Y = Y +1900 *(Y <100)
224 VTAB 15: HTAB 1: CALL -958: PRINT "FORECAST DATE:": PRINT : PRINT " ";M$(M);" 1, ";Y: PRINT
225 GOSUB 1000
230 BN = BD -BN
235 PRINT "THIS WILL TAKE A WHILE..."
240 GOSUB 1200
250 GOSUB 600
260 GOSUB 400
300 TEXT : HOME : PRINT "GOOD-BYE!!!"
310 END
400 BN = BN +D(M):M = M +1: IF M <13 THEN 420
410 M = 1:Y = Y +1: GOSUB 500
420 D = 1: POP : GOTO 240
500 IF INT(Y/4) = Y/4 THEN 520
510 GOTO 530
520 IF INT(Y/400) = Y/400 THEN 540
530 RETURN
540 D(2) = 29
550 RETURN
600 PRINT "DO YOU WANT ANOTHER MONTH ";: GET R$
605 HOME : VTAB (21)
607 PRINT "WAIT JUST A MINUTE..."
610 IF R$ = "Y" THEN RETURN
620 GOTO 300
1000 REM CALCULATE NUMBER OF DAYS UNTIL M/D/Y
1010 IF M <3 THEN 1050
1020 M1 = M -3:Y1 = Y
1040 GOTO 1070
1050 M1 = M +9:Y1 = Y -1
1070 C = INT(Y1/100):D1 = Y1 -(C *100)
1080 BD = INT((146097 *C)/4) +D + INT((1461 *D1)/4) +1721119 + INT((153 *M1 +2)/5)
1090 RETURN
1200 REM DRAW A GRAPH
1239 BQ = BN:BN = BN -1
1240 FOR DAY = 1 TO 31
1245 BN = BN +1:P(DAY) = FN D(23):I(DAY) = FN D(28):E(DAY) = FN D(33):TC(DAY) = (P(DAY) +I(DAY) +E(DAY))/3
1250 NEXT DAY
1251 BN = BQ
1252 HGR : HCOLOR= 3: HPLOT 0,80 TO 279,80
1253 HPLOT 0,0 TO 0,160
1255 BN = BQ
1260 GOSUB 1300
1264 VTAB 21
1265 PRINT "1 4 7 11 15 19 23 27 31"
1270 PRINT "RED=PHYS, BLUE=EMOT, GREEN=MENTAL"
1280 PRINT "VIOLET=TOTAL, MONTH= ";M$(M);" ";Y
1295 RETURN
1300 HCOLOR= 5: HPLOT 0,P(1): FOR K = 2 TO 31: HPLOT TO 9 *(K -1),P(K): NEXT K
1310 HCOLOR= 6: HPLOT 0,I(1): FOR K = 2 TO 31: HPLOT TO 9 *(K -1),I(K): NEXT K
1320 HCOLOR= 1: HPLOT 0,E(1): FOR K = 2 TO 31: HPLOT TO 9 *(K -1),E(K): NEXT K
1330 HCOLOR= 2: HPLOT 0,TC(1): FOR K = 2 TO 31: HPLOT TO 9 *(K -1),TC(K): NEXT K
1340 RETURN
1400 PRINT "DO YOU WANT ANOTHER MONTH";: INPUT R$
1410 IF LEFT$(R$,1) = "Y" GOTO 1430
1420 RETURN
1430 TEXT : HOME : GOTO 200
2000 REM DETERMINE CURRENT
2001 REM DATE IF DATE -
2002 REM KEEPER HELLO IS
2003 REM HELLO PROGRAM.
2010 IF PEEK(1017) <1 OR PEEK(1017) >12 OR PEEK(1018) <0 OR PEEK(1018) >31 THEN SET = 0: RETURN
2015 MM = PEEK(1017):DD = PEEK(1018):YY = PEEK(1016)
2016 VTAB 5: HTAB 1
2017 YY = YY +1900
2020 PRINT "CURRENT DATE IS:"
2025 PRINT
2030 PRINT " ";M$(MM);" ";DD;", ";YY
2035 PRINT : PRINT
2040 SET = 1: RETURN